package com.ruoyi.report_lqhhl.domain.bo;

import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import com.ruoyi.report_lqhhl.domain.vo.ReportLqhhlMxetjf1jlbBsDetail1Vo;
import com.ruoyi.report_lqhhl.domain.vo.ReportLqhhlMxetjf1jlbBsDetail2Vo;
import com.ruoyi.report_tg.domain.bo.ExcelGeneralBo;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.*;

import java.util.Date;

import java.math.BigDecimal;
import java.util.List;

import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 沥青混合料马歇尔试验检测记录(体积法)1业务对象 report_lqhhl_mxetjf1jlb_bs_info
 *
 * @author llb
 * @date 2024-08-19
 */

@Data
@EqualsAndHashCode(callSuper = true)
public class ReportLqhhlMxetjf1jlbBsInfoBo extends ExcelGeneralBo {

    /**
     * 一份excel表格的唯一id(其他的excel主表，都应有此字段）
     */
    @NotNull(message = "一份excel表格的唯一id(其他的excel主表，都应有此字段）不能为空", groups = { EditGroup.class })
    private Long excelId;

    /**
     * 共几页
     */
    @NotNull(message = "共几页不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long totalPage;

    /**
     * 第几页
     */
    @NotNull(message = "第几页不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long page;

    /**
     * 检测单位名称
     */
    @NotBlank(message = "检测单位名称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String jiancdwmc;

    /**
     * 记录编号
     */
    @NotBlank(message = "记录编号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String jilbh;

    /**
     * 工程名称
     */
    @NotBlank(message = "工程名称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String gongcmc;

    /**
     * 工程部位/用途
     */
    @NotBlank(message = "工程部位/用途不能为空", groups = { AddGroup.class, EditGroup.class })
    private String gongcbwyt;

    /**
     * 样品名称
     */
    @NotBlank(message = "样品名称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String yangpmc;

    /**
     * 样品编号
     */
    @NotBlank(message = "样品编号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String yangpbh;

    /**
     * 样品数量
     */
    @NotBlank(message = "样品数量不能为空", groups = { AddGroup.class, EditGroup.class })
    private String yangpsl;

    /**
     * 样品状态
     */
    @NotBlank(message = "样品状态不能为空", groups = { AddGroup.class, EditGroup.class })
    private String yangpzt;

    /**
     * 样品时间
     */
    @NotBlank(message = "样品时间不能为空", groups = { AddGroup.class, EditGroup.class })
    private String yangpsj;

    /**
     * 试验检测日期
     */
    @NotBlank(message = "试验检测日期不能为空", groups = { AddGroup.class, EditGroup.class })
    private String shiyjcrq;

    /**
     * 试验条件温度
     */
    @NotBlank(message = "试验条件温度不能为空", groups = { AddGroup.class, EditGroup.class })
    private String shiytjwd;

    /**
     * 试验条件湿度
     */
    @NotBlank(message = "试验条件湿度不能为空", groups = { AddGroup.class, EditGroup.class })
    private String shiytjsd;

    /**
     * 检测依据
     */
    @NotBlank(message = "检测依据不能为空", groups = { AddGroup.class, EditGroup.class })
    private String jiancyj;

    /**
     * 判定依据
     */
    @NotBlank(message = "判定依据不能为空", groups = { AddGroup.class, EditGroup.class })
    private String pandyj;

    /**
     * 主要仪器设备名称及编号
     */
    @NotBlank(message = "主要仪器设备名称及编号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String zhuyyqsbmcjbh;

    /**
     * 沥青用量
     */
    @NotNull(message = "沥青用量不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal liqyl;

    /**
     * 击实温度
     */
    @NotBlank(message = "击实温度不能为空", groups = { AddGroup.class, EditGroup.class })
    private String jiswd;

    /**
     * 环境温度
     */
    @NotBlank(message = "环境温度不能为空", groups = { AddGroup.class, EditGroup.class })
    private String huanjwd;

    /**
     * 试件尺寸
     */
    @NotBlank(message = "试件尺寸不能为空", groups = { AddGroup.class, EditGroup.class })
    private String shijcc;

    /**
     * 击实次数
     */
    @NotBlank(message = "击实次数不能为空", groups = { AddGroup.class, EditGroup.class })
    private String jiscs;

    /**
     * 理论最大相对密度
     */
    @NotNull(message = "理论最大相对密度不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal lilzdxdmd;

    /**
     * 矿料合成毛体积相对密度
     */
    @NotNull(message = "矿料合成毛体积相对密度不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal kuanglhcmtjxdmd;

    /**
     * 沥青的相对密度
     */
    @NotNull(message = "沥青的相对密度不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal liqdxdmd;

    /**
     * 0.075mm的通过率
     */
    @NotNull(message = "0.075mm的通过率不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal tonggl;

    /**
     * 被集料吸收的沥青结合料比例Pba
     */
    @NotNull(message = "被集料吸收的沥青结合料比例Pba不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal liqjhlbl;

    /**
     * 有效沥青用量Pbe
     */
    @NotNull(message = "有效沥青用量Pbe不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal youxlqyl;

    /**
     * 粉胶比FB
     */
    @NotNull(message = "粉胶比FB不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal fenjb;

    /**
     * 毛体积相对密度平均值
     */
    @NotNull(message = "毛体积相对密度平均值不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal maotjxdmdpjz;

    /**
     * 空隙率平均值
     */
    @NotNull(message = "空隙率平均值不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal kongxlpjz;

    /**
     * 有效沥青体积百分率平均值
     */
    @NotNull(message = "有效沥青体积百分率平均值不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal youxlqtjbflpjz;

    /**
     * 间隙率平均值
     */
    @NotNull(message = "间隙率平均值不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal jianxlpjz;

    /**
     * 沥青饱和度平均值
     */
    @NotNull(message = "沥青饱和度平均值不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal lqbhdpjz;

    /**
     * 粗集料骨架间隙率平均值
     */
    @NotNull(message = "粗集料骨架间隙率平均值不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal cujlgjjxlpjz;

    /**
     * 稳定度平均值
     */
    @NotNull(message = "稳定度平均值不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal wenddpjz;

    /**
     * 流值平均值
     */
    @NotNull(message = "流值平均值不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal liuzpjz;

    /**
     * 马歇尔模数平均值
     */
    @NotNull(message = "马歇尔模数平均值不能为空", groups = { AddGroup.class, EditGroup.class })
    private BigDecimal maxemspjz;

    /**
     * 附加声明
     */
    @NotBlank(message = "附加声明不能为空", groups = { AddGroup.class, EditGroup.class })
    private String fujsm;

    /**
     * 检测
     */
    @NotBlank(message = "检测不能为空", groups = { AddGroup.class, EditGroup.class })
    private String jianc;

    /**
     * 记录
     */
    @NotBlank(message = "记录不能为空", groups = { AddGroup.class, EditGroup.class })
    private String jil;

    /**
     * 复核
     */
    @NotBlank(message = "复核不能为空", groups = { AddGroup.class, EditGroup.class })
    private String fuh;

    /**
     * 日期
     */
    @NotBlank(message = "日期不能为空", groups = { AddGroup.class, EditGroup.class })
    private String riq;

    /**
     * 设备ids
     */
    @NotBlank(message = "设备ids不能为空", groups = { AddGroup.class, EditGroup.class })
    private String shebIds;

    /**
     * 判断依据ids
     */
    @NotBlank(message = "判断依据ids不能为空", groups = { AddGroup.class, EditGroup.class })
    private String pandyjIds;

    /**
     * 检测依据ids
     */
    @NotBlank(message = "检测依据ids不能为空", groups = { AddGroup.class, EditGroup.class })
    private String jiancyjIds;

    /**
     * 详情1
     */
    List<ReportLqhhlMxetjf1jlbBsDetail1Vo> detail1List;

    /**
     * 详情2
     */
    List<ReportLqhhlMxetjf1jlbBsDetail2Vo> detail2List;
}
